#include <stdio.h>

typedef struct
{
    int id;
    char name[20];
    int age;
}student;




int main()
{
    //文件指针
    FILE *f = fopen("test.txt","r");
    
    if(f == NULL)
    {
        printf("文件打开失败!\n");
        return -1;
    }
    printf("文件打开成功!\n");
    
    // student stu;
    // //总文件中格式化读取数据
    // fscanf(f,"%d %s %d",&stu.id,stu.name,&stu.age);
    // printf("学生信息: %d %s %d\n",stu.id,stu.name,stu.age);

    //将指针移到距离开头6个字节的位置
    //fseek(f,6,SEEK_SET);

    fseek(f,0,SEEK_END);
    char str[1024] = {0};
    //fseek(f,0,SEEK_SET); 
    //把文件指针返回到开头
    long newSize = ftell(f);
    rewind(f);
    fread(str,newSize,1,f);
    printf("%s\n",str);
    //printf("%ld\n",ftell(f));

    // char str[1024] = {0};
    // fgets(str,1024,f);
    // printf("文件内容:%s\n",str);
    // while((c = fgetc(f)) != EOF)
    // {
    //     printf("%c",c);
    // }
    // printf("\n");

    // char str[1024] = {0};
    // //读取异常/读完了,未读满
    // if(fread(str,1024,1,f) == 0)
    // {
    //     if(feof(f) != 0)
    //         printf("读取到了文件末尾!\n");
    //     else
    //         printf("读取错误:%d\n",ferror(f));
    // }
    // printf("实际读了%ld次\n",fread(str,1024,1,f));
    // printf("读取内容:%s\n",str);

    fclose(f);
    return 0;
}